ccR.Druid.Restoration = {
	Cure = 
	function(unit)
		unit = unit or "player" 
		if unit ~= "player" and (not ccR.Unit.Exists(unit) or not ccR.Unit.Is.Alive(unit)) then return end
		for x = 1, # tblCleanseBlacklist do
			local vAura = tblCleanseBlacklist[x]
			if ccR.Unit.Has.Debuff(unit, vAura) or ccR.Unit.Has.Buff(unit, vAura) then return end
		end
		if ccR.Spell.Is.Ready(NATURESCURE) and not ccR.Player.Is.Casting() then
			-- Blacklist check
			for i = 1, 40 do 
			 	local name, _, _, _, debuffType, debuffDuration, debuffExpires, _, _, _, debuffID = UnitDebuff(unit, i) 
			 	if name == nil then	
			 		break 
			 	else 
			 		if ccR.Player.Specialization() == 4 then
				 		if debuffType == "Poison"
				 		or debuffType == "Curse"
				 		or debuffType == "Magic"
				 		then
				 			ccR.Cast.Spell(NATURESCURE, unit)	
				 			ccR.PrintToChat("Cure: [ " .. debuffID .. " ] " .. name .. " (" .. debuffType .. ") " .. " on " .. unit .. " ( " .. ccR.Unit.Name(unit) .. " ).")
				 			return
				 		end
			 		else
				 		if debuffType == "Poison"
				 		or debuffType == "Curse"
				 		then
				 			ccR.Cast.Spell(NATURESCURE, unit)	
				 			return
				 		end
				 	end
			 	end
			end
		end
	end,
}
setmetatable(ccR.Druid.Restoration, ccR.Druid)